package thesis.filesharing.dao;

import java.util.List;

import thesis.filesharing.common.valueobjects.SearchLecturerValueObject;
import thesis.filesharing.model.Lecturer;

import com.google.appengine.api.datastore.Key;

public interface LecturerDAO {
	
	public Lecturer findLecturerById(String lecturerId);
	public Lecturer findLecturerByKey(Key lecturerKey);
	public Lecturer findLecturerByEmail(String lecturerEmail);
	public List<Lecturer> listLecturers(int page, int pageSize);
	public int countLecturers();
	public Lecturer saveLecturer(Lecturer lecturer);
	public Lecturer updateLecturer(Lecturer lecturer);
	public void deleteLecturer(Key lecturerKey);
	public boolean isEmailDuplicatedWithOrtherLecturer(String lecturerEmail, Key lecturerKey);
	public int countFoundLecturers(SearchLecturerValueObject searchObj);
	public List<Lecturer> searchLecturers(SearchLecturerValueObject searchObj, int page, int pageSize);
}
